home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / EnterCD 06_2004.iso / Uzytki / Heuthes ISOF / util.js < prev    next >
Encoding:
Text File  |  2003-03-27  |  6.1 KB  |  223 lines

  1. var weekDays = ["niedziela", "poniedzia│ek", "wtorek", "£roda", "czwartek", "pi╣tek", "sobota"];
  2. var sWeekDays = ["nd.", "pon.", "wt.", "£r.", "czw.", "pt.", "sob."];
  3. var months = ["stycznia", "lutego", "marca", "kwietnia", "maja", "czerwca", "lipca", "sierpnia",
  4.     "wrze£nia", "paƒdziernika", "listopada", "grudnia"];
  5. var weightsREGON = [8, 9, 2, 3, 4, 5, 6, 7 ];
  6. var moduloREGON = 11;
  7. var weightsNIP = [6, 5, 7, 2, 3, 4, 5, 6, 7];
  8. var moduloNIP = 11;
  9.  
  10. // Funkcje do sprawdzania zawarto£ci p≤l w formularzu.
  11. //
  12. function CheckTextInput(fld, msg)
  13. {
  14.     fld.value = Trim(fld.value);
  15.     if (fld.value=="")
  16.         return InvalidInput(fld, msg);
  17.     return true;
  18. }
  19.  
  20. function CheckEmailInput(fld, req, msg)
  21. {
  22.     return CheckPictInput(fld, req, /^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/, msg);
  23. }
  24.  
  25. function CheckMailCodeInput(fld, req, msg)
  26. {
  27.     return CheckPictInput(fld, req, /^\d{2}-?\d{3}$/, msg);
  28. }
  29.  
  30. function CheckREGONInput(fld, req, msg)
  31. {
  32.     if (CheckPictInput(fld, req, /^\d{9}$/, msg))
  33.         if (CheckInputCheckSum(fld.value, weightsREGON, moduloREGON))
  34.             return true;
  35.         else
  36.             return InvalidInput(fld, msg);
  37.     return false;
  38. }
  39.  
  40. function CheckNIPInput(fld, req, msg)
  41. {
  42.     if (CheckPictInput(fld, req, /^(\d{3}-?\d{3}-?\d{2}-?\d{2})|(\d{3}-?\d{2}-?\d{2}-?\d{3})$/, msg))
  43.         if (CheckInputCheckSum(fld.value, weightsNIP, moduloNIP))
  44.             return true;
  45.         else
  46.             return InvalidInput(fld, msg); 
  47.     return false;
  48. }
  49.  
  50. function CheckIntInput(fld, req, msg)
  51. {
  52.     fld.value = Trim(fld.value);
  53.     if (!req && fld.value=="")
  54.         return true;
  55.     if (isNaN(parseInt(fld.value)))
  56.         return InvalidInput(fld, msg);
  57.     return true;
  58. }
  59.  
  60. function CheckIntRangeInput(fld, req, minVal, maxVal, msg)
  61. {
  62.     fld.value = Trim(fld.value);
  63.     if (!req && fld.value=="")
  64.         return true;
  65.     var v = parseInt(fld.value);
  66.     if (isNaN(v) || v < minVal || v > maxVal)
  67.         return InvalidInput(fld, msg);
  68.     return true;
  69. }
  70.  
  71. function CheckPictInput(fld, req, re, msg)
  72. {
  73.     fld.value = Trim(fld.value);
  74.     if (!req && fld.value=="")
  75.         return true;
  76.     if (fld.value.search(re)==-1)
  77.         return InvalidInput(fld, msg);
  78.     return true;
  79. }
  80.  
  81. function CheckInputCheckSum(s, wts, modulo)
  82. {
  83.     var i = 0;
  84.     var j = 0;
  85.     var sum = 0;
  86.     
  87.     while (i < s.length - 1 && j < wts.length) {
  88.         var n = parseInt(s.charAt(i++))
  89.         if (!isNaN(n))
  90.             sum += n * wts[j++]; 
  91.     }
  92.     return i == s.length - 1 && j == wts.length && (sum % modulo) % 10 == parseInt(s.charAt(i));
  93. }
  94.  
  95. function InvalidInput(fld, msg)
  96. {
  97.     alert(msg? msg : "ProszΩ wype│niµ pole " + fld.name + ".");
  98.     fld.focus();
  99.     return false;
  100. }
  101. //----------
  102.  
  103. function Trim(parNapis){
  104.     var i=0;
  105.     var j=0;
  106.  
  107.     while ((i<parNapis.length)&&(parNapis.charCodeAt(i)<=0x20))
  108.         i++;
  109.     if (i>=parNapis.length)
  110.         return "";
  111.     else {
  112.         j=parNapis.length;
  113.         while (parNapis.charCodeAt(j-1)<=0x20)
  114.             j--;
  115.         return parNapis.substring(i,j);
  116.     }
  117. }
  118.  
  119. function NewItem(time) {
  120.     var added = new Date(time);
  121.     var today = new Date();
  122.     var days = (today - added) / 86400000;
  123.  
  124.     if (days < 14) {
  125.         var gif = days < 7? "../img/newest.gif" : "../img/new.gif";
  126.         document.write("<img src='", gif, "' border=0 width=28 height=11 title='Dodano ",
  127.             added.getDate(), ".", added.getMonth() + 1, ".", added.getFullYear(), "'> ");
  128.     }
  129. }
  130.  
  131. function DecodeDBTimeStamp(ts)
  132. {
  133.     var d = new Date(Number(ts.substr(0,4)), Number(ts.substr(5,2)) - 1, Number(ts.substr(8, 2)),
  134.             Number(ts.substr(11, 2)), Number(ts.substr(14, 2)), Number(ts.substr(17, 2)), 0);
  135.     return d;
  136. }
  137.  
  138. function FmtDayTime(t) {
  139.     var m = t.getMinutes();
  140.     return t.getHours() + (m < 10? ":0" : ":") + m;
  141. }
  142.  
  143. function FmtLongDate(t) {
  144.     return weekDays[t.getDay()] + ", " + t.getDate() + " " + months[t.getMonth()] + " " + t.getFullYear();
  145. }
  146.  
  147. function FmtLongTime(t) {
  148.     return FmtLongDate(t) + ", " + FmtDayTime(t);
  149. }
  150.  
  151. function FmtShortDate(t) {
  152.     var m = t.getMonth() + 1;
  153.     return t.getDate() + (m < 10? ".0" : ".") + m + "." + t.getFullYear();
  154. }
  155.  
  156. function FmtShortTime(t) {
  157.     return FmtShortDate(t) + " " + FmtDayTime(t);
  158. }
  159.  
  160. function FmtTime(t) {
  161.     return sWeekDays[t.getDay()] + " " + FmtShortDate(t) + " " + FmtDayTime(t);
  162. }
  163.  
  164. function TimeStamp(time) {
  165.     var t = new Date(time);
  166.  
  167.     document.write("<div class='time'>");
  168.     NewItem(t);
  169.     TimeString(t);
  170.     document.writeln("</div>");
  171. }
  172.  
  173. function TimeString(time) {
  174.     var t = new Date(time);
  175.     var hr = t.getHours();
  176.     var min = t.getMinutes();
  177.  
  178.     document.write(FmtLongDate(t));
  179.     if (hr != 0 || min != 0)
  180.         document.write(", ", hr, min < 10? ":0" : ":", min);
  181. }
  182.  
  183. function TmStamp() {
  184.     return FmtTime(new Date());
  185. }
  186.  
  187. function WinOpen(href,title,features,ctlpage)
  188. {
  189.     var wnd = window.open("", "infowin", (features==""? "" : features + ",") + "scrollbars");
  190.  
  191.     if (wnd.length != 0) {
  192.         wnd.close();
  193.         wnd = window.open("", "infowin", (features==""? "" : features + ",") + "scrollbars");
  194.     }
  195.     wnd.document.writeln("<HTML><HEAD><META http-equiv='Content-type' content='text/html; charset=windows-1250'><TITLE>", title, "</TITLE></HEAD>");
  196.     wnd.document.writeln("<FRAMESET ROWS='*,22' BORDER=0>");
  197.     wnd.document.writeln("<FRAME SRC='", href, "' NAME='info' NORESIZE>");
  198.     wnd.document.writeln("<FRAME SRC='" + (ctlpage == undefined? "winclose.html" : ctlpage) + "' SCROLLING='no' NORESIZE>");
  199.     wnd.document.writeln("</FRAMESET></HTML>");
  200.     wnd.focus();
  201.     return false;
  202. }
  203.  
  204. function Zoom(href,title,width,height,scrollbars,resizable,options)
  205. {
  206.     var features = "width=" + width + ",height=" + height + ",scrollbars=" + (scrollbars? "1" : "0") + ",resizable=" + (resizable? "1" : "0") + (options? "," + options : "");
  207.     var wnd = window.open("", "infowin", features);
  208.  
  209.     if (wnd.length != 0) {
  210.         wnd.close();
  211.         wnd = window.open("", "infowin", features);
  212.     }
  213.     wnd.document.writeln("<HTML><HEAD><META http-equiv='Content-type' content='text/html; charset=windows-1250'><TITLE>", title, "</TITLE></HEAD>");
  214.     wnd.document.writeln("<FRAMESET BORDER=0>");
  215.     wnd.document.writeln("<FRAME SRC='", href, "' NAME='info' ");
  216.     if (!resizable)
  217.         wnd.document.writeln("NORESIZE ");
  218.     if (!scrollbars)
  219.         wnd.document.writeln("SCROLLING='no' ");
  220.     wnd.document.writeln("MARGINWIDTH=0 MARGINHEIGHT=0></FRAMESET></HTML>");
  221.     wnd.focus();
  222.     return false;
  223. }